import java.util.HashSet;

public class CollectionStream {
    public static void main(String[] args) {
        HashSet books = new HashSet();
        books.add("Java集合");
        books.add("数据结构与算法");
        books.add("Java从入门到精通");
        books.add("C++从入门到精通");

        // 统计书名包含"精通"子串的图书数量
        System.out.println(books.stream()
                .filter(ele -> ((String) ele).contains("精通"))
                .count());
        // 统计书名包含"Java"子串的图书数量
        System.out.println(books.stream()
                .filter(ele -> ((String) ele).contains("Java"))
                .count());
        // 统计书名字符串长度大于9的图书数量
        System.out.println(books.stream()
                .filter(ele -> ((String) ele).length() > 9)
                .count());
        // 先调用Collection对象的stream()方法将集合转换为Stream
        // 再调用Stream的mapToInt()方法获取原有的Stream对应的IntStream
        books.stream().mapToInt(ele -> ((String) ele).length())
                // 调用forEach()方法遍历IntStream中每个元素
                .forEach(System.out::println);
    }
}
